package cn.itheima.edu.info.manger.service;

import cn.itheima.edu.info.manger.dao.TeacherDao;
import cn.itheima.edu.info.manger.domain.Teacher;

import java.util.Scanner;

public class TeacherService {
    //成员变量：创建键盘录入对象和创建库管对象
    Scanner sc = new Scanner(System.in);
    TeacherDao teacherDao = new TeacherDao();

    //创建添加方法，传递参数
    public void addTeacher(Teacher teacher) {
        //调用库管的addTeacher方法传递参数
        teacherDao.addTeacher(teacher);

    }

    /**
     * 判断用户录入的id是否已经存在
     *
     * @param teacherid 传入的老师id
     * @return id是否已经存在
     */

    public boolean isExists(String teacherid) {
        //调用库管对象的getteachers方法获取数组容器
        Teacher[] teachers = teacherDao.getteachers();
        //遍历数组容器，判断容器中的元素是否不为null并且判断id是否存在，存在返回true，否者返回false
        for (int i = 0; i < teachers.length; i++) {
            if (teachers[i] != null && teachers[i].getId().equals(teacherid)) {
                return true;
            }
        }
        return false;
    }

    /**
     * 获取老师信息的方法
     *
     * @return 返回一个数组容器或者一个null
     */
    public Teacher[] findTeacher() {
        //1.调用库管的getteachers方法，使用老师类型的数组进行接收
        Teacher[] teachers = teacherDao.getteachers();
        //对接收到的数组进行遍历，判断数组容器中是否存在有效元素，有则返回数组，没有则返回null
        for (int i = 0; i < teachers.length; i++) {
            if (teachers[i] != null) {
                return teachers;
            }
        }

        return null;
    }

    /**
     * 删除老师信息方法
     * @param teacherid 用户要删除的老师id
     */
    public void deleteTeacher(String teacherid) {
        //调用库管的deleteTeacher方法将用户要删除的老师id传递给库管
       teacherDao.deleteTeacher(teacherid);

    }

    /**
     * 修改老师信息方法
     * @param teacher
     * @param upid
     */
    public void updateTeacher(Teacher teacher, String upid) {
        //调用库管的updateTeacher方法 修改老师信息
        teacherDao.updateTeacher(teacher,upid);

    }
}
